package com.yyh1;
/*- 知识点：抽象类
- 语法点：继承，抽象类
- 按步骤编写代码，效果如图所示：
编写步骤：

1. 定义抽象类A，抽象类B继承A，普通类C继承B
2. A类中，定义成员变量numa，赋值为10，抽象showA方法。
3. B类中，定义成员变量numb，赋值为20，抽象showB方法。
4. C类中，定义成员变量numc，赋值为30，重写showA方法，打印numa，重写showB方法，打印numb，定义showC方法，打印numc。
5. 测试类Test09中，创建C对象，调用showA方法，showB方法，showC方法。
*/
public class Test1 {
    public static void main(String[] args) {
        //创建C对象
        C c = new C();
        //调用方法
        c.showA();
        c.showB();
        c.showC();
    }
}
//定义抽象类A
abstract class A{
    //定义成员变量numa
    int numa = 10;
    //定义抽象方法showA
    abstract void showA();
}
//定义抽象类B
abstract class B extends A{
    //定义成员变量numb
    int numb = 20;
    //定义抽象方法showB
    abstract void showB();
}
//定义普通类C
class C extends B{
    //定义成员变量numc
    int numc = 30;
    //重写showA方法
    @Override
    void showA() {
        System.out.println("A类中numa："+numa);
    }
    //重写showB方法
    @Override
    void showB() {
        System.out.println("B类中numb："+numb);
    }
    //定义showC方法
    void showC(){
        System.out.println("C类中numc："+numc);
    }
}
